/**
 * Author(s): xuming.Wong <xuming.Wong@gmail.com>
 */
#ifndef __PQ_ClientPrerequisites_H__
#define __PQ_ClientPrerequisites_H__
/*PQClient core dependencies' header
*/
// Platform-specific stuff
#include "PQPrerequisites.h"

#include "ClientEnums.h"

#include "Ogre.h"
#include "OIS/OIS.h"

//use some ogre class
namespace Ogre
{
	//used as base of our terrain system
	class TerrainGlobalOptions;
	class TerrainGroup;
	class TerrainPaging;
	class PageManager;
	class PagedWorld;

}

#define DEBUG_NONE				0
#define DEBUG_NO_SERVER		1
#define DEBUG_WITH_SERVER	2

//#define DEBUG_TYPE DEBUG_NONE
#define DEBUG_TYPE		DEBUG_NO_SERVER
//#define DEBUG_TYPE DEBUG_WITH_SERVER

namespace PQClient
{
    // Define PQClient version
    #define PQClient_Version_Major 0
    #define PQClient_Version_Minor 1
	#define PQClient_Version_Patch 1
    #define PQClient_Version_Name "Seeker"

    #define PQClient_Version    ((PQClient_Version_Major << 16) | (PQClient_Version_Minor << 8) | PQClient_Version_Patch)

	// Pre-declare classes
	// Allows use of pointers in header files without including individual .h
	// so decreases dependencies between files
	class Unit;
	class GameScene;
	class NetManager;

}
#endif
